package com.audi.dto;

import java.io.Serializable;

/**
 * Smart Trigger Item
 * 
 * @author CuongPH7
 * 
 */
public class SmartTriggerItem implements Serializable {
    private int smartTriggerID;
    /**
     * 
     */
    private static final long serialVersionUID = 4240035105996260073L;
    private SmartTriggerWhenItem when;
    private SmartTriggerTriggerItem trigger;
    private SmartTriggerWhenTriggerItem whenTrigger;
    
    /*
     * private String whenDeviceName; private String whenDevicePlaceName;
     * private String triggerDeviceName; private int triggerDeviceValue; private
     * int triggerDevicePlaceId; private String triggerDevicePlaceName; private
     * String nameDescription;
     */
    
    public SmartTriggerItem() {
        super();
        when = new SmartTriggerWhenItem();
        trigger = new SmartTriggerTriggerItem();
        whenTrigger = new SmartTriggerWhenTriggerItem();
    }
    
/**
     * Class constructor
     * 
     * @param whenDeviceValues
     * @param whenDeviceType
     * @param triggerDeveceValues
     * @param triggerDeviceType
     * @param smarttriggername
     * @param iconControl
     * @deprecated {@link SmartTriggerItem(SmartTriggerWhenItem ,
     *             SmartTriggerTriggerItem, SmartTriggerWhenTriggerItem)
     * @see SmartTriggerItem(SmartTriggerWhenItem, SmartTriggerTriggerItem,
     *      SmartTriggerWhenTriggerItem)
     */
    @Deprecated
    public SmartTriggerItem(int whenDeviceValues, int whenDeviceType,
            int triggerDeveceValues, int triggerDeviceType,
            String smarttriggername, int iconControl) {
        
    }
    
/**
     * Class constructor
     * 
     * @param whenId
     * @param whenDeviceId
     * @param whenDeviceValues
     * @param whenDeviceType
     * @param triggerId
     * @param triggerDeviceId
     * @param triggerDeveceValues
     * @param triggerDeviceType
     * @param sensorName
     * @param deviceName
     * @param iconControl
     * @param smarttriggername
     * @deprecated {@link SmartTriggerItem(SmartTriggerWhenItem,
     *             SmartTriggerTriggerItem, SmartTriggerWhenTriggerItem)
     * @see SmartTriggerItem(SmartTriggerWhenItem, SmartTriggerTriggerItem,
     *      SmartTriggerWhenTriggerItem)
     */
    @Deprecated
    public SmartTriggerItem(int whenId, int whenDeviceId, int whenDeviceValues,
            int whenDeviceType, int triggerId, int triggerDeviceId,
            int triggerDeveceValues, int triggerDeviceType, String sensorName,
            String deviceName, int iconControl, String smarttriggername) {
    }
    
    public SmartTriggerItem(SmartTriggerWhenItem when,
            SmartTriggerTriggerItem trigger,
            SmartTriggerWhenTriggerItem whenTrigger) {
        this.when = when;
        this.trigger = trigger;
        this.whenTrigger = whenTrigger;
    }
    
    public SmartTriggerWhenItem getWhen() {
        return when;
    }
    
    public void setWhen(SmartTriggerWhenItem when) {
        this.when = when;
    }
    
    public SmartTriggerTriggerItem getTrigger() {
        return trigger;
    }
    
    public void setTrigger(SmartTriggerTriggerItem trigger) {
        this.trigger = trigger;
    }
    
    public SmartTriggerWhenTriggerItem getWhenTrigger() {
        return whenTrigger;
    }
    
    public void setWhenTrigger(SmartTriggerWhenTriggerItem whenTrigger) {
        this.whenTrigger = whenTrigger;
    }
    
    /**
     * Get Smart Trigger When Id
     * 
     * @deprecated {@link SmartTriggerWhenItem#getWhenId(int)}
     * @return Smart Trigger When Id;
     * @see SmartTriggerWhenItem#getWhenId()
     */
    @Deprecated
    public int getWhenId() {
        return when.getWhenId();
    }
    
    /**
     * Set Smart Trigger When Id
     * 
     * @deprecated {@link SmartTriggerWhenItem#setWhenId(int)}
     * @see SmartTriggerWhenItem#setWhenId(int)
     */
    @Deprecated
    public void setWhenId(int whenId) {
        when.setWhenId(whenId);
    }
    
    /**
     * get Smart Trigger When Device Id
     * 
     * @deprecated {@link SmartTriggerWhenItem#getWhenDeviceId()}
     * @return Smart Trigger When Id;
     * @see SmartTriggerWhenItem#getWhenDeviceId()
     */
    @Deprecated
    public int getWhenDeviceId() {
        return when.getWhenDeviceId();
    }
    
    /**
     * Set Smart Trigger When Device Id
     * 
     * @deprecated {@link SmartTriggerWhenItem#setWhenDeviceId(int)}
     * @see SmartTriggerWhenItem#setWhenDeviceId(int)
     */
    @Deprecated
    public void setWhenDeviceId(int whenDeviceId) {
        when.setWhenDeviceId(whenDeviceId);
    }
    
    /**
     * Get Smart Trigger When Device Name
     * 
     * @deprecated {@link SmartTriggerWhenItem#getWhenDeviceName()}
     * @return Smart Trigger When Device Name
     * @see SmartTriggerWhenItem#getWhenDeviceName()
     */
    @Deprecated
    public String getWhenDeviceName() {
        return when.getWhenDeviceName();
    }
    
    /**
     * Set Smart Trigger When Device Id
     * 
     * @deprecated {@link SmartTriggerWhenItem#setWhenDeviceName(String)}
     * @see SmartTriggerWhenItem#setWhenDeviceName(String)
     */
    @Deprecated
    public void setWhenDeviceName(String whenDeviceName) {
        when.setWhenDeviceName(whenDeviceName);
    }
    
    /**
     * Get Smart Trigger When Device Place Id
     * 
     * @deprecated {@link SmartTriggerWhenItem#getWhenDevicePlaceId()}
     * @return int When Device Place Id
     */
    @Deprecated
    public int getWhenDevicePlaceId() {
        return when.getWhenDevicePlaceId();
    }
    
    /**
     * Set Smart Trigger When Device Place Id
     * 
     * @deprecated {@link SmartTriggerWhenItem#setWhenDevicePlaceId(int)}
     * @see SmartTriggerWhenItem#setWhenDevicePlaceId(int)
     */
    @Deprecated
    public void setWhenDevicePlaceId(int whenDevicePlaceId) {
        when.setWhenDevicePlaceId(whenDevicePlaceId);
    }
    
    /**
     * Get Smart Trigger When Device Place Name
     * 
     * @deprecated {@link SmartTriggerWhenItem#getWhenDevicePlaceName()}
     * @return String When Device Place Name
     */
    @Deprecated
    public String getWhenDevicePlaceName() {
        return when.getWhenDevicePlaceName();
    }
    
    /**
     * Set Smart Trigger When Device Place Id
     * 
     * @deprecated {@link SmartTriggerWhenItem#setWhenDevicePlaceId(int)}
     * @see SmartTriggerWhenItem#setWhenDevicePlaceId(int)
     */
    @Deprecated
    public void setWhenDevicePlaceName(String whenDevicePlaceName) {
        when.setWhenDevicePlaceName(whenDevicePlaceName);
    }
    
    /**
     * get Smart Trigger When Device Value
     * 
     * @deprecated {@link SmartTriggerWhenItem#getWhenDeviceValues()}
     * @return Smart Trigger When Value;
     * @see SmartTriggerWhenItem#getWhenDeviceValues()
     */
    @Deprecated
    public String getWhenDeviceValues() {
        return when.getWhenDeviceValues();
    }
    
    /**
     * Set Smart Trigger When Device Value
     * 
     * @deprecated {@link SmartTriggerWhenItem#setWhenDeviceValues(int)}
     * @see SmartTriggerWhenItem#setWhenDeviceValues(int)
     */
    @Deprecated
    public void setWhenDeviceValues(String whenDeviceValues) {
        when.setWhenDeviceValues(whenDeviceValues);
    }
    
    /**
     * get Smart Trigger When Device Type
     * 
     * @deprecated {@link SmartTriggerWhenItem#getWhenDeviceType()}
     * @return Smart Trigger When Type;
     * @see SmartTriggerWhenItem#getWhenDeviceType()
     */
    @Deprecated
    public int getWhenDeviceType() {
        return when.getWhenDeviceType();
    }
    
    /**
     * Set Smart Trigger When Device Type
     * 
     * @deprecated {@link SmartTriggerWhenItem#setWhenDeviceType(int)}
     * @see SmartTriggerWhenItem#setWhenDeviceType(int)
     */
    @Deprecated
    public void setWhenDeviceType(int whenDeviceType) {
        when.setWhenDeviceType(whenDeviceType);
    }
    
    /**
     * get Smart Trigger Trigger Id
     * 
     * @deprecated {@link SmartTriggerTriggerItem#getTriggerId()}
     * @return Smart Trigger Trigger Id;
     * @see SmartTriggerTriggerItem#getTriggerId()
     */
    @Deprecated
    public int getTriggerId() {
        return trigger.getTriggerId();
    }
    
    /**
     * Set Smart Trigger Trigger Id
     * 
     * @deprecated {@link SmartTriggerTriggerItem#setTriggerId(int)}
     * @see SmartTriggerTriggerItem#setTriggerId(int)
     */
    @Deprecated
    public void setTriggerId(int triggerId) {
        trigger.setTriggerId(triggerId);
    }
    
    /**
     * get Smart Trigger Trigger Device Id
     * 
     * @deprecated {@link SmartTriggerTriggerItem#getTriggerDeviceId()}
     * @return Smart Trigger Trigger Device Id;
     * @see SmartTriggerTriggerItem#getTriggerDeviceId()
     */
    @Deprecated
    public int getTriggerDeviceId() {
        return trigger.getTriggerDeviceId();
    }
    
    /**
     * Set Smart Trigger Trigger Device Id
     * 
     * @deprecated {@link SmartTriggerTriggerItem#setTriggerDeviceId(int)}
     * @see SmartTriggerTriggerItem#setTriggerDeviceId(int)
     */
    @Deprecated
    public void setTriggerDeviceId(int triggerDeviceId) {
        trigger.setTriggerDeviceId(triggerDeviceId);
    }
    
    /**
     * Get Smart Trigger Trigger Device Name
     * 
     * @deprecated {@link SmartTriggerTriggerItem#getTriggerDeviceName()}
     * @return Smart Trigger Trigger Device Name
     * @see SmartTriggerTriggerItem#getTriggerDeviceName()
     */
    @Deprecated
    public String getTriggerDeviceName() {
        return trigger.getTriggerDeviceName();
    }
    
    /**
     * Set Smart Trigger Trigger Device Id
     * 
     * @deprecated {@link SmartTriggerTriggerItem#setTriggerDeviceName(String)}
     * @see SmartTriggerTriggerItem#setTriggerDeviceName(String)
     */
    @Deprecated
    public void setTriggerDeviceName(String triggerDeviceName) {
        trigger.setTriggerDeviceName(triggerDeviceName);
    }
    
    /**
     * Get Smart Trigger Trigger Device Place Id
     * 
     * @deprecated {@link SmartTriggerTriggerItem#getTriggerDevicePlaceId()}
     * @return int Trigger Device Place Id
     */
    @Deprecated
    public int getTriggerDevicePlaceId() {
        return trigger.getTriggerDevicePlaceId();
    }
    
    /**
     * Set Smart Trigger Trigger Device Place Id
     * 
     * @deprecated {@link SmartTriggerTriggerItem#setTriggerDevicePlaceId(int)}
     * @see SmartTriggerTriggerItem#setTriggerDevicePlaceId(int)
     */
    @Deprecated
    public void setTriggerDevicePlaceId(int triggerDevicePlaceId) {
        trigger.setTriggerDevicePlaceId(triggerDevicePlaceId);
    }
    
    /**
     * Get Smart Trigger Trigger Device Place Name
     * 
     * @deprecated {@link SmartTriggerTriggerItem#getTriggerDevicePlaceName()}
     * @return String Trigger Device Place Name
     */
    @Deprecated
    public String getTriggerDevicePlaceName() {
        return trigger.getTriggerDevicePlaceName();
    }
    
    /**
     * Set Smart Trigger Trigger Device Place Id
     * 
     * @deprecated {@link SmartTriggerTriggerItem#setTriggerDevicePlaceId(int)}
     * @see SmartTriggerTriggerItem#setTriggerDevicePlaceId(int)
     */
    @Deprecated
    public void setTriggerDevicePlaceName(String triggerDevicePlaceName) {
        trigger.setTriggerDevicePlaceName(triggerDevicePlaceName);
    }
    
/**
     * get Smart Trigger Trigger Device Value
     * 
     * @deprecated {@link SmartTriggerTriggerItem#getTriggerDeviceValues()
     * @return Smart Trigger Trigger Device Id;
     * @see SmartTriggerTriggerItem#getTriggerDeviceValues()
     */
    @Deprecated
    public String getTriggerDeveceValues() {
        return trigger.getTriggerDeviceValues();
    }
    
    /**
     * Set Smart Trigger Trigger Device Vaue
     * 
     * @deprecated {@link SmartTriggerTriggerItem#setTriggerDeviceValue(int)}
     * @see SmartTriggerTriggerItem#setTriggerDeviceValue(int)
     */
    @Deprecated
    public void setTriggerDeveceValues(String triggerDeviceValues) {
        trigger.setTriggerDeviceValues(triggerDeviceValues);
    }
    
    /**
     * get Smart Trigger Trigger Device Type
     * 
     * @deprecated {@link SmartTriggerTriggerItem#getTriggerDeviceType()}
     * @return Smart Trigger Trigger Device Id;
     * @see SmartTriggerTriggerItem#getTriggerDeviceType()
     */
    @Deprecated
    public int getTriggerDeviceType() {
        return trigger.getTriggerDeviceType();
    }
    
    /**
     * Set Smart Trigger Trigger Device Type
     * 
     * @deprecated {@link SmartTriggerTriggerItem#setTriggerDeviceType(int)}
     * @see SmartTriggerTriggerItem#setTriggerDeviceType(int)
     */
    @Deprecated
    public void setTriggerDeviceType(int triggerDeviceType) {
        trigger.setTriggerDeviceType(triggerDeviceType);
    }
    
    /**
     * @deprecated Removed. not used anywhere
     * @return null
     */
    @Deprecated
    public String getSensorName() {
        return null;
    }
    
    /**
     * Do nothing
     * 
     * @deprecated removed. not used anywhere
     * @param sensorName
     */
    @Deprecated
    public void setSensorName(String sensorName) {
        
    }
    
    /**
     * Do nothing
     * 
     * @deprecated {@link removed. not used anywhere
     */
    @Deprecated
    public String getDeviceName() {
        return null;
    }
    
/**
     * Do nothing
     * 
     * @deprecated {@link removed. not used anywhere
     * @param deviceName
     */
    @Deprecated
    public void setDeviceName(String deviceName) {
        
    }
    
/**
     * get Smart Trigger On/Off Device
     * 
     * @deprecated {@link SmartTriggerWhenTriggerItem#getOnOff()
     * @return Smart Trigger On/Off Device;
     * @see SmartTriggerWhenTriggerItem#getOnOff()
     */
    @Deprecated
    public int getIconControl() {
        return whenTrigger.getOnOff();
    }
    
/**
     * Set Smart Trigger On/Off Device
     * 
     * @deprecated {@link SmartTriggerWhenTriggerItem#setOnOff(int)
     * @see SmartTriggerWhenTriggerItem#setOnOff(int)
     */
    @Deprecated
    public void setIconControl(int iconControl) {
        whenTrigger.setOnOff(iconControl);
    }
    
/**
     * get Smart Trigger When-Trigger name
     * 
     * @deprecated {@link SmartTriggerWhenTriggerItem#getWhenTriggerName()
     * @return Smart Trigger When-Trigger name;
     * @see SmartTriggerWhenTriggerItem#getWhenTriggerName()
     */
    @Deprecated
    public String getSmarttriggername() {
        return whenTrigger.getWhenTriggerName();
    }
    
/**
     * Set Smart Trigger When-Trigger name
     * 
     * @deprecated {@link SmartTriggerWhenTriggerItem#setWhenTriggerName(String)
     * @see SmartTriggerWhenTriggerItem#setWhenTriggerName(String)
     */
    @Deprecated
    public void setSmarttriggername(String smartTriggerName) {
        whenTrigger.setWhenTriggerName(smartTriggerName);
    }
    
    /**
     * Do nothing
     * 
     * @deprecated {@link removed. not used anywhere
     */
    @Deprecated
    public int getSmartTriggerID() {
        return smartTriggerID;
    }
    
/**
     * Do nothing
     * 
     * @deprecated {@link removed. not used anywhere
     * @param smartTriggerID
     */
    @Deprecated
    public void setSmartTriggerID(int smartTriggerID) {
        this.smartTriggerID = smartTriggerID;
    }
    
}
